const { consoleLog } = require("../../utils");

const Subscription = require("egg").Subscription;

module.exports = class UpdateCache extends Subscription {
  // 通过 schedule 属性来设置定时任务的执行间隔等配置
  static get schedule() {
    return {
      type: "all", // 指定所有的 worker 都需要执行
      interval: "1m", // 1 分钟间隔
      // cronOptions: false, //配置 cron 的时区等，参见 cron-parser 文档。
      // immediate: false, //配置该参数为 true 时，这个定时任务会在应用启动并 ready 后立即执行一次这个定时任务。
      // disable: false, //配置该参数为 true 时，这个定时任务不会被启动。
      // env: false, //数组，仅在指定的环境下才启动该定时任务。
    };
  }

  // subscribe 是真正定时任务执行时被运行的函数
  async subscribe() {
    // const res = await this.ctx.curl("http://www.api.com/cache", {
    //   dataType: "json",
    // });
    consoleLog("每隔1分钟执行一次打印定时任务", "info");
    // this.ctx.app.cache = res.data;
  }
};
